import java.util.*;

/**
 * @author LKQ
 * @date 2022/3/19 8:51
 * @description
 */
public class Solution {
    public static void main(String[] args) {

    }
    int n;
    Set<Integer> set;
    public boolean checkValid(int[][] matrix) {
        n = matrix.length;
        set = new HashSet<>();
        return check(matrix, true) && check(matrix, false);
    }
    public boolean check(int[][] matrix, boolean row) {
        for (int i = 0; i < n; i++) {
            set.clear();
            for (int j = 0; j < n; j++) {
                if (row) {
                    if (set.contains(matrix[i][j])) {
                        // 出现重复整数，该行不符合要求
                        return false;
                    }
                    set.add(matrix[i][j]);
                }else {
                    if (set.contains(matrix[j][i])) {
                        // 出现重复整数，该行不符合要求
                        return false;
                    }
                    set.add(matrix[j][i]);
                }
            }
        }
        return true;
    }
}
